Skip to content

Conversation

@ti-chi-bot
Copy link
Member

This is an automated cherry-pick of #22190

What is changed, added or deleted? (Required)

As in the title, this PR adds the release note doc for v8.5.5.

Which TiDB version(s) do your changes apply to? (Required)

Tips for choosing the affected version(s):

By default, CHOOSE MASTER ONLY so your changes will be applied to the next TiDB major or minor releases. If your PR involves a product feature behavior change or a compatibility change, CHOOSE THE AFFECTED RELEASE BRANCH(ES) AND MASTER.

For details, see tips for choosing the affected versions.

  • master (the latest development version)
  • v9.0 (TiDB 9.0 versions)
  • v8.5 (TiDB 8.5 versions)
  • v8.1 (TiDB 8.1 versions)
  • v7.5 (TiDB 7.5 versions)
  • v7.1 (TiDB 7.1 versions)
  • v6.5 (TiDB 6.5 versions)
  • v6.1 (TiDB 6.1 versions)
  • v5.4 (TiDB 5.4 versions)

What is the related PR or file link(s)?

  • This PR is translated from:
  • Other reference link(s):

Do your changes match any of the following descriptions?

  • Delete files
  • Change aliases
  • Need modification after applied to another branch
  • Might cause conflicts after applied to another branch

qiancai and others added 30 commits January 15, 2026 09:16
Co-authored-by: hongyunyan <[email protected]>
Co-authored-by: 山岚 <[email protected]>
@ti-chi-bot ti-chi-bot added lgtm size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. type/cherry-pick-for-release-8.5 This PR is cherry-picked to release-8.5 from a source PR. labels Jan 15, 2026
@ti-chi-bot ti-chi-bot mentioned this pull request Jan 15, 2026
13 tasks
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @ti-chi-bot, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces the comprehensive release notes for TiDB version 8.5.5. It documents a wide array of enhancements, including substantial performance optimizations for DDL operations and query execution, critical improvements in backup and restore capabilities, and increased system reliability and availability. The release also brings new observability features, enhanced security, and numerous bug fixes across all core components and tools, ensuring a more robust and efficient database experience.

Highlights

  • Performance Enhancements: Significant DDL performance improvements for lossy operations (up to 460,000x faster) and DDLs involving many foreign keys (up to 25x faster). Query performance is also boosted by supporting index lookup pushdown to TiKV and experimental table-level data affinity.
  • Backup and Restore Improvements: Point-in-time recovery (PITR) is now faster from compacted log backups, system table recovery is accelerated, and table-level restores from log backups using filters are supported. Compatibility between ongoing log backups and snapshot restores has also been improved.
  • System Stability and Availability: TiKV scheduling stability is enhanced during network jitter through slow-node detection, and a client circuit breaker pattern has been introduced for PD to prevent overloading. TiKV also now supports graceful shutdowns.
  • SQL and DDL Flexibility: Users can now dynamically modify the concurrency and throughput of distributed ADD INDEX jobs without interruption. New AFFINITY table properties and a SHOW AFFINITY statement are introduced for MySQL compatibility.
  • Observability and Security: Storage engine identifiers (STORAGE_KV, STORAGE_MPP) have been added to statement summary tables and slow query logs for better diagnostics. Backup & Restore (BR) now supports Azure Managed Identity (MI) authentication for enhanced security.
  • Bug Fixes and General Improvements: Numerous bugs have been addressed across TiDB, TiKV, PD, TiFlash, and associated tools (BR, TiCDC), improving overall stability, correctness, and user experience. Various system variables and configuration parameters have also been updated or added.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds the release notes for TiDB v8.5.5. The documentation is well-written and comprehensive. I've provided a few minor suggestions to improve clarity, readability, and consistency with the style guide. My feedback includes recommendations to use the second person ("you") when addressing the user, breaking up long sentences, and ensuring consistent spelling. Overall, great work on documenting the new release.


- **Improved recovery performance**: SST files can be more quickly imported into the cluster.
- **Reduced storage space consumption**: redundant data is removed during compaction.
- **Reduced impact on applications**: RPOs (Recovery Point Objective) can be maintained with less frequent full snapshot-based backups.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

low

To improve clarity and follow the style guide's recommendation to use the second person, consider rephrasing this point.

Suggested change
- **Reduced impact on applications**: RPOs (Recovery Point Objective) can be maintained with less frequent full snapshot-based backups.
- **Reduced impact on applications**: You can maintain your Recovery Point Objectives (RPOs) with less frequent full snapshot-based backups.
References
  1. Write in second person ("you") when addressing users. (link)


* Improve scheduling stability in TiKV during network jitter [#9359](https://github.com/tikv/pd/issues/9359) @[okJiang](https://github.com/okJiang)

Starting from v8.5.5, TiKV introduces a network slow-node detection and feedback mechanism. When this mechanism is enabled, TiKV probes network latency between nodes, calculates a network slow score, and reports the score to PD. Based on this score, PD evaluates the network status of TiKV nodes and adjusts scheduling accordingly: when a TiKV node is detected to be experiencing network jitter, PD restricts the scheduling of new Leaders to that node; if the network jitter persists, PD proactively evicts existing Leaders from the affected node to other TiKV nodes, thereby reducing the impact of network issues on the cluster.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

low

This sentence is quite long and complex. For better readability, I suggest breaking it into smaller sentences.

Suggested change
Starting from v8.5.5, TiKV introduces a network slow-node detection and feedback mechanism. When this mechanism is enabled, TiKV probes network latency between nodes, calculates a network slow score, and reports the score to PD. Based on this score, PD evaluates the network status of TiKV nodes and adjusts scheduling accordingly: when a TiKV node is detected to be experiencing network jitter, PD restricts the scheduling of new Leaders to that node; if the network jitter persists, PD proactively evicts existing Leaders from the affected node to other TiKV nodes, thereby reducing the impact of network issues on the cluster.
Starting from v8.5.5, TiKV introduces a network slow-node detection and feedback mechanism. When this mechanism is enabled, TiKV probes network latency between nodes, calculates a network slow score, and reports the score to PD. Based on this score, PD evaluates the network status of TiKV nodes and adjusts scheduling accordingly. For example, when a TiKV node is detected to be experiencing network jitter, PD restricts the scheduling of new Leaders to that node. If the network jitter persists, PD proactively evicts existing Leaders from the affected node to other TiKV nodes, thereby reducing the impact of network issues on the cluster.
References
  1. Make sure the documentation is easy to understand for TiDB users. (link)


* Add storage engine identifiers to statement summary tables and slow query logs [#61736](https://github.com/pingcap/tidb/issues/61736) @[henrybw](https://github.com/henrybw)

When both TiKV and TiFlash are deployed in a cluster, users often need to filter SQL statements by storage engine during database diagnostics and performance optimization. For example, if TiFlash is under high load, users might need to identify SQL statements running on TiFlash to locate potential causes. To meet this need, starting from v8.5.5, TiDB adds storage engine identifier fields to statement summary tables and slow query logs.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

low

The style guide recommends addressing the user directly with "you" instead of "users".

Suggested change
When both TiKV and TiFlash are deployed in a cluster, users often need to filter SQL statements by storage engine during database diagnostics and performance optimization. For example, if TiFlash is under high load, users might need to identify SQL statements running on TiFlash to locate potential causes. To meet this need, starting from v8.5.5, TiDB adds storage engine identifier fields to statement summary tables and slow query logs.
When both TiKV and TiFlash are deployed in a cluster, you often need to filter SQL statements by storage engine during database diagnostics and performance optimization. For example, if TiFlash is under high load, you might need to identify SQL statements running on TiFlash to locate potential causes. To meet this need, starting from v8.5.5, TiDB adds storage engine identifier fields to statement summary tables and slow query logs.
References
  1. Write in second person ("you") when addressing users. (link)


### Behavior changes

* Starting from v8.5.5, TiDB automatically sets target tables to `restore` mode during data restore. Tables in `restore` mode prohibit any user read or write operations. Once the restore completes, TiDB automatically switches the mode back to `normal` for these tables, allowing users to read and write the tables normally. This behavior ensures task stability and data consistency during the restore process.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

low

To improve clarity and align with the style guide's preference for the second person, I suggest a small wording change.

Suggested change
* Starting from v8.5.5, TiDB automatically sets target tables to `restore` mode during data restore. Tables in `restore` mode prohibit any user read or write operations. Once the restore completes, TiDB automatically switches the mode back to `normal` for these tables, allowing users to read and write the tables normally. This behavior ensures task stability and data consistency during the restore process.
* Starting from v8.5.5, TiDB automatically sets target tables to `restore` mode during data restore. Tables in `restore` mode prohibit any read or write operations. Once the restore completes, TiDB automatically switches the mode back to `normal` for these tables, allowing you to read and write the tables normally. This behavior ensures task stability and data consistency during the restore process.
References
  1. Write in second person ("you") when addressing users. (link)


+ TiDB

- Improve error messages for `IMPORT INTO` when encoding errors occur to help users identify issues more accurately [#63763](https://github.com/pingcap/tidb/issues/63763) @[D3Hunter](https://github.com/D3Hunter)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

low

The style guide recommends addressing the user directly with "you" instead of "users".

Suggested change
- Improve error messages for `IMPORT INTO` when encoding errors occur to help users identify issues more accurately [#63763](https://github.com/pingcap/tidb/issues/63763) @[D3Hunter](https://github.com/D3Hunter)
- Improve error messages for `IMPORT INTO` when encoding errors occur to help you identify issues more accurately [#63763](https://github.com/pingcap/tidb/issues/63763) @[D3Hunter](https://github.com/D3Hunter)
References
  1. Write in second person ("you") when addressing users. (link)


+ TiDB

- Fix the issue that TiDB fails to read the latest value of the `tidb_mem_quota_binding_cache` variable to perform initialization binding during startup [#65381](https://github.com/pingcap/tidb/issues/65381) @[qw4990](https://github.com/qw4990)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

low

For better readability, consider rephrasing "Fix the issue that" to "Fix an issue where". This suggestion can be applied to other items in the "Bug fixes" section as well.

Suggested change
- Fix the issue that TiDB fails to read the latest value of the `tidb_mem_quota_binding_cache` variable to perform initialization binding during startup [#65381](https://github.com/pingcap/tidb/issues/65381) @[qw4990](https://github.com/qw4990)
- Fix an issue where TiDB fails to read the latest value of the `tidb_mem_quota_binding_cache` variable to perform initialization binding during startup [#65381](https://github.com/pingcap/tidb/issues/65381) @[qw4990](https://github.com/qw4990)
References
  1. Clarity, simplicity, completeness, and readability (link)

- Fix the issue that admin check does not report errors when index records are missing [#63698](https://github.com/pingcap/tidb/issues/63698) @[wjhuang2016](https://github.com/wjhuang2016)
- Fix the issue that modifying the collation via `MODIFY COLUMN` results in data index inconsistency [#61668](https://github.com/pingcap/tidb/issues/61668) @[tangenta](https://github.com/tangenta)
- Fix the issue that the embedded `ANALYZE` feature in DDL might not be triggered when performing multiple schema changes [#65040](https://github.com/pingcap/tidb/issues/65040) @[joechenrh](https://github.com/joechenrh)
- Fix the issue that the Distributed eXecution Framework (DXF) task is not cancelled after canceling the `ADD INDEX` job [#64129](https://github.com/pingcap/tidb/issues/64129) @[tangenta](https://github.com/tangenta)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

low

To maintain consistent spelling throughout the document, "cancelled" should be changed to "canceled". Other parts of the document use "canceled" (e.g., line 280).

Suggested change
- Fix the issue that the Distributed eXecution Framework (DXF) task is not cancelled after canceling the `ADD INDEX` job [#64129](https://github.com/pingcap/tidb/issues/64129) @[tangenta](https://github.com/tangenta)
- Fix the issue that the Distributed eXecution Framework (DXF) task is not canceled after canceling the `ADD INDEX` job [#64129](https://github.com/pingcap/tidb/issues/64129) @[tangenta](https://github.com/tangenta)
References
  1. Correct English grammar, spelling, and punctuation mistakes, if any. (link)

- Fix the issue that a large number of Leader transfers might cause sudden changes in Region size [#10014](https://github.com/tikv/pd/issues/10014) @[lhy1024](https://github.com/lhy1024)
- Fix the issue that might cause PD panic during scheduling [#9951](https://github.com/tikv/pd/issues/9951) @[bufferflies](https://github.com/bufferflies)
- Fix the issue that data might become imbalanced during the import process [#9088](https://github.com/tikv/pd/issues/9088) @[GMHDBJD](https://github.com/GMHDBJD)
- Fix the issue that, after enabling the Active PD Follower feature, requests that fail on a Follower node cannot correctly fall back to the Leader node for retry [#64933](https://github.com/pingcap/tidb/issues/64933) @[okJiang](https://github.com/okJiang)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

low

The style guide recommends addressing the user directly with "you".

Suggested change
- Fix the issue that, after enabling the Active PD Follower feature, requests that fail on a Follower node cannot correctly fall back to the Leader node for retry [#64933](https://github.com/pingcap/tidb/issues/64933) @[okJiang](https://github.com/okJiang)
- Fix the issue that, after you enable the Active PD Follower feature, requests that fail on a Follower node cannot correctly fall back to the Leader node for retry [#64933](https://github.com/pingcap/tidb/issues/64933) @[okJiang](https://github.com/okJiang)
References
  1. Write in second person ('you') when addressing users. (link)

@qiancai
Copy link
Collaborator

qiancai commented Jan 15, 2026

/approve

@ti-chi-bot ti-chi-bot bot added the approved label Jan 15, 2026
@qiancai
Copy link
Collaborator

qiancai commented Jan 15, 2026

/approve

@ti-chi-bot
Copy link

ti-chi-bot bot commented Jan 15, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: qiancai

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@qiancai qiancai merged commit c3cc226 into pingcap:release-8.5 Jan 15, 2026
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved lgtm size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. type/cherry-pick-for-release-8.5 This PR is cherry-picked to release-8.5 from a source PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants